<?php

use app\middleware\CarryLogin;
use app\middleware\CheckLogin;
use app\middleware\CrossDomain;
use think\facade\Route;

/**
 * Api_Base
 */
Route::group(
    function () {
        // 图片验证
        Route::any('get_captcha_img', 'api/Verify/getCode');

        // 显示Url输出二维码
        Route::any('qrCode/show', 'api/QrCode/show');

        // AI-OCR识别
        Route::any('appConfig/get', 'api/AppConfig/get');

        // 公众平台
        Route::any('mp/enter/:appId', 'api/Mp/enter');

        // 关于我们
        Route::any('user/about', 'api/User/about');

        // AI-OCR识别
        Route::any('ai/ocr', 'api/Ai/ocr');
    }
)->middleware([CrossDomain::class])->allowCrossDomain();

/**
 * Api_Base
 */
Route::group(
    function () {
        // 查询省列表
        Route::any('region/get', 'api/Region/getList');

        // 查询考试列表
        Route::any('exam/get', 'api/Exam/getList');

        // 查询省分组列表
        Route::any('region/get_group', 'api/Region/getGroupList');

        // 用户分享
        Route::any('user/share', 'api/User/share');

        // 用户排行
        Route::any('user/ranking', 'api/User/ranking');

        // 查询专业列表
        Route::any('profession/get', 'api/Profession/getList');

        // 查询学校列表
        Route::any('school/get', 'api/School/getList');

        // 首页信息
        Route::any('home', 'api/Index/index');

        // 微信群获取
        Route::any('wxGroup/get', 'api/WxGroup/get');

        // 用户登录
        Route::any('user/login', 'api/User/login');

        // 自动登录
        Route::any('user/auth', 'api/User/auth');

        // 用户注册
        Route::any('user/register', 'api/User/register');

        // 重置密码
        Route::any('user/resetPassword', 'api/User/resetPassword');

        // 短信发送
        Route::any('verify/sendSmsCode', 'api/Verify/sendSmsCode');

        // 邮箱发送
        Route::any('verify/sendMailCode', 'api/Verify/sendMailCode');

        // 用户登录
        Route::any('sms/send', 'api/Sms/send');

        // 微信登录
        Route::any('user/wxLogin', 'api/User/wxLogin');

        // 新版微信登录
        Route::any('user/wx_new_login', 'api/User/wx_new_login');

        // 题目搜索记录
        Route::any('question/searchRecord', 'api/Question/searchRecord');

        // 题目详情
        Route::any('question/getInfo', 'api/Question/getInfo');

        // 题目详情
        Route::any('question/getCount', 'api/Question/getCount');

        // 题目反馈
        Route::any('question/feedback', 'api/Question/feedback');

        // 文章列表
        Route::any('article/getList', 'api/Article/getList');

        // 文章详情
        Route::any('article/getInfo', 'api/Article/detail');

        // 文章分类列表
        Route::any('article/category/getList', 'api/ArticleCategory/getList');

        // 文件列表
        Route::any('courseFile/getList', 'api/CourseFile/getList');

        // 用户场景
        Route::any('user/scene', 'api/User/scene');

        // 互助任务详情
        Route::any('helpTask/info', 'api/HelpTask/info');

        // 分享资料规则
        Route::any('material/shareRule', 'api/Material/shareRule');

        // 生成登录码
        Route::any('sso/createLoginQr', 'api/sso/createLoginQr');

        // 检查登录码
        Route::any('sso/checkLoginQr', 'api/sso/checkLoginQr');
    }
)->middleware([CrossDomain::class, CarryLogin::class])->allowCrossDomain();

/**
 * Api_Auth
 */
Route::group(
    function () {
        // 用户信息
        Route::any('user/info', 'api/User/info');

        // 切换版本
        Route::any('user/switch', 'api/User/switch');

        // 用户分享
        Route::any('user/share', 'api/User/share');

        // 更新用户
        Route::any('user/update', 'api/User/update');

        // 绑定Mp
        Route::any('user/bindMp', 'api/User/bindMp');

        // 绑定手机
        Route::any('user/bindMobile', 'api/User/bindMobile');

        // 绑定手机
        Route::any('user/bindWxMobile', 'api/User/bindWxMobile');

        // 绑定Openid
        Route::any('user/bind_openid', 'api/User/bindOpenid');

        // 更新邮箱地址
        Route::any('user/changeMail', 'api/User/changeMail');

        // 设置登录密码
        Route::any('user/changePassword', 'api/User/changePassword');

        // 签到信息
        Route::any('user/sign/info', 'api/Sign/info');

        // 确认签到
        Route::any('user/sign/confirm', 'api/Sign/confirm');

        // 确认激励视频
        Route::any('user/sign/rewardConfirm', 'api/Sign/rewardConfirm');

        // 领取微信群福利
        Route::any('user/sign/wxGroupWelfare', 'api/Sign/wxGroupWelfare');

        // 我的收藏(一级列表)
        Route::any('user/collect_question', 'api/collect/getProfession');

        // 我的收藏(一级列表)
        Route::any('user/collect', 'api/collect/getList');

        // 我的课程(一级列表)
        Route::any('user/course', 'api/Course/myCourse');

        // 我的错题(一级列表)
        Route::any('user/error_question', 'api/ErrorQuestion/getProfession');

        // 历史题库(一级列表)
        Route::any('user/history_question', 'api/HistoryQuestion/getProfession');

        // 订阅消息
        Route::any('user/subscribe', 'api/User/subscribe');

        // 章节题库
        Route::any('user/chapter_question', 'api/chapterQuestion/getList');

        // 我的VIP课程
        Route::any('user/vip_course_list', 'api/VipCourse/getList');

        // 充值会员价格表
        Route::any('user/vip/chargeInfo', 'api/Vip/chargeInfo');

        // 转让会员信息
        Route::any('user/vip/transferInfo', 'api/Vip/transferInfo');

        // 转让会员
        Route::any('user/vip/transfer', 'api/Vip/transfer');

        // 创建订单
        Route::any('order/create', 'api/Order/create');

        // 确认订单
        Route::any('order/info', 'api/Order/info');

        // 支付订单
        Route::any('order/pay', 'api/Order/pay');

        // VIP课程产品列表
        Route::any('vip_course/product_list', 'api/VipCourse/getProductList');

        // 查询课程题型信息,单选多选简单(包含主题,收藏题,错误题)
        Route::any('course/get_question_type', 'api/ProfessionCourse/getQuestionType');

        // 查询课程题库
        Route::any('v3/get_topic', 'api/Question/getList');

        // 查询答题卡
        Route::any('question/getAnswerCard', 'api/Question/getAnswerCard');

        // 课程详情
        Route::any('course/getInfo', 'api/ProfessionCourse/getInfo');

        // 课程学习统计
        Route::any('course/getUserStats', 'api/Course/getUserStats');

        // 课程销售说明
        Route::any('course/saleInfo', 'api/Course/saleInfo');

        // 课程搜索
        Route::any('course/search', 'api/ProfessionCourse/search');

        // 课程搜索
        Route::any('course/new_search', 'api/Course/search');

        // 题目搜索
        Route::any('question/search', 'api/Question/search');

        // 题目搜索
        Route::any('question/new_search', 'api/Question/newSearch');

        // 题目解析(ai申请)
        Route::any('question/aiExplanation', 'api/Question/aiExplanation');

        // 选择专业课程
        Route::any('v2/getCourses', 'api/ProfessionCourse/getList');

        // 更新用户专业
        Route::any('v3/up_professions', 'api/User/update');

        // 留言反馈
        Route::any('app/feedback', 'api/Feedback/add');

        // 反馈列表
        Route::any('app/feedbackList', 'api/Feedback/getList');

        // 退出登录
        Route::any('user/logout', 'api/User/logout');

        // 答题题位置
        Route::any('question/is_continue', 'api/Question/isContinue');

        // 重置答题记录
        Route::any('question/clear', 'api/Question/clear');

        // 收藏问题
        Route::any('question/collect', 'api/Question/collect');

        // 保存答题记录
        Route::any('question/save_answer', 'api/Question/saveAnswer');

        // 查询答题结果
        Route::any('question/answer_result', 'api/Question/answerResult');

        // 报考|取消专业课程
        Route::any('v2/joinCourses', 'api/ProfessionCourse/join');

        // 资料列表
        Route::any('material/list', 'api/Material/getList');

        // 资料详情
        Route::any('material/info', 'api/Material/getInfo');

        // 购买资料
        Route::any('material/buy', 'api/Material/buy');

        // 分享资料提交
        Route::any('material/shareSave', 'api/Material/shareSave');

        // 分享资料记录
        Route::any('material/shareList', 'api/Material/shareList');

        // 创建互助任务
        Route::any('helpTask/create', 'api/HelpTask/create');

        // 互助任务帮抢
        Route::any('helpTask/grab', 'api/HelpTask/grab');

        // 互助任务保存
        Route::any('helpTask/save', 'api/HelpTask/save');

        // 互助明细保存
        Route::any('helpTask/itemSave', 'api/HelpTask/itemSave');

        // 推广中心-首页信息
        Route::any('promote/info', 'api/Promote/info');

        // 推广中心-推广记录
        Route::any('promote/mySubordinate', 'api/Promote/mySubordinate');

        // 推广中心-成交订单
        Route::any('promote/completedOrder', 'api/Promote/completedOrder');

        // 推广中心-结算单
        Route::any('promote/settlementOrder', 'api/Promote/settlementOrder');

        // 推广中心-宣传素材
        Route::any('promote/shareImage', 'api/Promote/shareImage');

        // 公共接口-文件上传
        Route::any('fileManage/upload', 'api/FileManage/upload');

        // 确认登录码
        Route::any('sso/confirmLoginQr', 'api/sso/confirmLoginQr');

        // 视频详情
        Route::any('video/getInfo', 'api/Video/getInfo');

        // 视频列表
        Route::any('video/getList', 'api/Video/getList');

        // 视频合集
        Route::any('videoCollection/getInfo', 'api/VideoCollection/getInfo');

        // 视频合集列表
        Route::any('videoCollection/getList', 'api/VideoCollection/getList');

        // 激活码确认
        Route::any('activationCode/confirm', 'api/ActivationCode/confirm');

        // 试卷分类列表
        Route::any('paper/category/list', 'api/Paper/categoryList');

        // 试卷顶级分类详情
        Route::any('paper/category/detail', 'api/Paper/categoryDetail');

        // 试卷列表
        Route::any('paper/list', 'api/Paper/getList');
    }
)->middleware([CrossDomain::class, CheckLogin::class]);
